In wireless communications, error correction codes are used in order to correct errors that are caused by thermal noise in a receiver. Since the technology of error correction codes may reduce a transmission energy required for 1 bit, it has been studied actively in the field of code theory. Currently, as error correction codes that are used generally, there are convolutional codes such as a Non-Systematic Convolutional (NSC) code and a Recursive Systematic Convolutional (RSC) code, a turbo code that uses the RSC code a plurality of times (refer to NPL 1), a Low Density Parity Check (LDPC) code and the like. In particular, the turbo code is known as a strong error correction code that is capable of achieving characteristics that are close to a Shannon limit that indicates an upper limit of a transmissible bit number, which is given mathematically, through repeated decoding based on a turbo theory.
Therefore, the turbo code is adopted as an error correction code of data signals in standards such as Long Term Evolution (LTE) and LTE-Advanced of The Third Generation Partnership Project (3GPP), a standards organization (refer to NPL 2). In the turbo code that is used in 3GPP, a configuration that outputs error correction coding bits with a coding rate of one third is adopted through parallel continuous coding of an RSC code with a constraint length of 4 via an interleaver.
In addition, link adaptation, which controls a Modulation and Coding Scheme (MCS) that is used in data transmission in an adaptive manner, is adopted in the LTE and the LTE-Advanced in order to secure a certain error rate with respect to differences in reception levels and fluctuations in reception quality. This link adaptation realizes a coding rate that is higher than a coding rate of one third through a puncturing process that punctures a portion of parity bits. By transmitting an error correction coding bit sequence with a higher coding rate through puncturing, an improvement in transmission rate becomes possible.